/**
 * 
 */
package com.demo2do.fms.scheduler.service;

import java.util.Date;
import java.util.List;

import com.demo2do.fms.entity.report.AppointmentStatus;
import com.demo2do.fms.scheduler.entity.appointment.DriverCostAppointment;
import com.demo2do.fms.scheduler.entity.appointment.DriverMileageAppointment;
import com.demo2do.fms.scheduler.entity.appointment.TransportRevenueAppointment;
import com.demo2do.fms.scheduler.entity.appointment.VehicleMileageAppointment;


/**
 *
 * @author Ark
 *
 */
public interface AppointmentReader {
    
    /**
     * @param status
     * @param date
     * @return
     */
    public List<VehicleMileageAppointment> listVehicleMileage(AppointmentStatus status, String date);
    
    /**
     * @param status
     * @param date
     * @return
     */
    public List<VehicleMileageAppointment> listExpiredVehicleMileage(AppointmentStatus status, Date date);
    
    /**
     * @param status
     * @param date
     * @return
     */
    public List<DriverMileageAppointment> listDriverMileage(AppointmentStatus status, String date);
    
    /**
     * @param status
     * @param date
     * @return
     */
    public List<DriverMileageAppointment> listExpiredDriverMileage(AppointmentStatus status, Date date);
    
    /**
     * @param status
     * @param date
     * @return
     */
    public List<TransportRevenueAppointment> listTransportRevenue(AppointmentStatus status, String date);
    
    /**
     * @param status
     * @param date
     * @return
     */
    public List<TransportRevenueAppointment> listExpiredTransportRevenue(AppointmentStatus status, Date date);
    
    /**
     * @param status
     * @param date
     * @return
     */
    public List<DriverCostAppointment> listDriverCost(AppointmentStatus status, String date);
    
    /**
     * @param status
     * @param date
     * @return
     */
    public List<DriverCostAppointment> listExpireDriverCost(AppointmentStatus status, Date date);
    
}
